#include <iostream>
#include <regex>
#include <string>
#include <vector>

int main() {
    std::cout << "Введите слова через пробел:";
    std::string line;
    std::getline(std::cin, line);

    if (line.empty()) {
        std::cout << "Мало данных для анализа" << std::endl;
        return 0;
    }

    // Регулярное выражение для разделения строки на слова
    std::regex word_regex(R"(\S+)");
    auto words_begin = std::sregex_iterator(line.begin(), line.end(), word_regex);
    auto words_end = std::sregex_iterator();

    int numWords = std::distance(words_begin, words_end);
    if (numWords <= 1) {
        std::cout << "Мало данных для анализа" << std::endl;
        return 0;
    }

    // Регулярные выражения для различных проверок
    std::regex cyrillic_capital_regex(R"(^[а-яё])");
    std::regex latin_char_regex(R"([a-zA-Z])");
    std::regex hyphen_regex(R"(-)");

    int countCyrillicCapital = 0;
    int countLatin = 0;
    int countShortWords = 0;
    int countHyphen = 0;
    std::string longestWord;
    int maxLength = 0;

    for (std::sregex_iterator i = words_begin; i != words_end; ++i) {
        std::string word = (*i).str();

        if (std::regex_search(word, cyrillic_capital_regex)) {
            countCyrillicCapital++;
        }
        if (std::regex_search(word, latin_char_regex)) {
            countLatin++;
        }
        if (word.length() <= 3) {
            countShortWords++;
        }
        if (std::regex_search(word, hyphen_regex)) {
            countHyphen++;
        }
        if (word.length() > maxLength) {
            maxLength = word.length();
            longestWord = word;
        }
    }

    std::cout << "Кол-во слов: " << numWords << std::endl;
    std::cout << "Кол-во слов с заглавной кириллической буквы: " << countCyrillicCapital << std::endl;
    std::cout << "Кол-во слов содержащих латинский символ: " << countLatin << std::endl;
    std::cout << "Кол-во слов не превышающих 3 символа: " << countShortWords << std::endl;
    std::cout << "Кол-во слов в составе которых имеется дефис: " << countHyphen << std::endl << std::endl;
    std::cout << "Самое длинное слово: " << longestWord << std::endl;
    std::cout << "Длина слова: " << maxLength << std::endl;

    return 0;
}
